package com.enjoyor.soa.traffic.api.service.dubbo.dvams;

import com.enjoyor.soa.traffic.api.dto.dvams.AccidentPositionDto;
import com.enjoyor.soa.traffic.util.pojo.ResultPojo;

/**
 * 事故地点操作
 */

public interface DubboAccidentPositionService {

    /**
     * 事故地点列表查询
     * 
     * @param blockId
     *            路段id
     * @param blockName
     *            路段名称 模糊查询
     * @return
     */
    public ResultPojo listAccidentPosition(String token, String systemkey, String blockId, String blockName);

    /**
     * 保存事故地点信息
     * 
     * @param accidentPositionDto
     * @return
     */
    public ResultPojo saveAccidentPosition(String token, String systemkey, AccidentPositionDto accidentPositionDto);

    /**
     * 编辑事故地点信息
     * 
     * @param accidentPositionDto
     * @return
     */
    public ResultPojo updateAccidentPosition(String token, String systemkey, AccidentPositionDto accidentPositionDto);

    /**
     * 删除地点信息
     * 
     * @param positionId
     * @return
     */
    public ResultPojo deleteAccidentPosition(String token, String systemkey, String positionId);

    /**
     * 查询当月路段管理
     * 
     * @param month
     *            2012-12
     * @return
     */
    public ResultPojo manageBlockAccidentByMonth(String token, String systemkey, String month);

    /**
     * 查询当年路段管理
     * 
     * @param year
     *            2012
     * @return
     */
    public ResultPojo manageBlockAccidentByYear(String token, String systemkey, String year);

    /**
     * 查询自定义路段管理
     * 
     * @param thisDateStart
     *            本周期开始 2012-12-01 00:00:00
     * @param thisDateEnd
     *            本周期结束 2012-12-20 00:00:00
     * @param lastDateStart
     *            上周期开始 2012-11-10 00:00:00
     * @param lastDateEnd
     *            上周期结束 2012-11-30 00:00:00
     * @param accidentType
     *            事故类型
     * @return
     */
    public ResultPojo manageBlockAccidentByCustom(String token, String systemkey, String thisDateStart,
            String thisDateEnd, String lastDateStart, String lastDateEnd, String accidentType);

}
